﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace ProyectoVuelos.Entidades
{
    public class Vuelo
    {
        #region atributos

        private string numeroVuelo; //dudad si es int
        private DateTime fechaSalida;
        private DateTime fechaLlegada;
        private string horaSalida;
        private string horaLlegada;
        private string aerolinea;
        private List<Tarifa> listaTarifas;
        private List<Clase> listaClases;




        #endregion

        #region constructores

        public Vuelo()
        {

        }

        public Vuelo(string numeroVuelo, DateTime fechaSalida, DateTime fechaLlegada, string horaSalida, string horaLlegada,
        string aerolinea, List<Tarifa> listaTarifas, List<Clase> listaClases)
        {
            this.numeroVuelo = numeroVuelo;
            this.fechaSalida = fechaSalida;
            this.fechaLlegada = fechaLlegada;
            this.horaSalida = horaSalida;
            this.horaLlegada = horaLlegada;
            this.aerolinea = aerolinea;
            this.listaTarifas = listaTarifas;
            this.listaClases = listaClases;
        }

        #endregion

        #region encapsulamiento de datos

        public string NumeroVuelo
        {
            get { return numeroVuelo; }
            set { numeroVuelo = value; }
        }

        public DateTime FechaSalida
        {
            get { return fechaSalida; }
            set { fechaSalida = value; }
        }

        public DateTime FechaLlegada
        {
            get { return fechaLlegada; }
            set { fechaLlegada = value; }
        }

        public string HoraSalida
        {
            get { return horaSalida; }
            set { horaSalida = value; }
        }

        public string HoraLlegada
        {
            get { return horaLlegada; }
            set { horaLlegada = value; }
        }

        public string Aerolinea
        {
            get { return aerolinea; }
            set { aerolinea = value; }
        }

        public List<Tarifa> ListaTarifas
        {
            get { return listaTarifas; }
            set { listaTarifas = value; }
        }

        public List<Clase> ListaClases
        {
            get { return listaClases; }
            set { listaClases = value; }
        }

        public Tarifa GetTarifa(string tipoTarifa)
        //METODO PARA OBTENER UNA TARIFA ESPECIFICADA POR PARAMETRO
        {
            Tarifa aux=null;
            for (int i = 0; i < this.listaTarifas.Count; i++)
            {
                if (this.listaTarifas.ElementAt(i).TipoTarifa.Equals(tipoTarifa))
                {
                    aux=this.listaTarifas.ElementAt(i);
                }
            }
             return aux;
        }

        public Clase GetClase(string nombre)
        //METODO PARA OBTENER UNA CLASE ESPECIFICADA POR PARAMETRO
        {
            for (int i = 0; i < this.listaClases.Count; i++)
            {
                if (this.listaClases.ElementAt(i).GetNombre.Equals(nombre))
                {
                    return this.listaClases.ElementAt(i);
                }
            }
            return null;
        }
       
        #endregion
    }
}